The present invention relates to a data communication method and system, and more particularly, to a data communication method and system that enable data communication between communications devices using a session management server.
When data is communicated between two entities (herein referring to a device, or a process realized by executing software on a device, for example), a communication control protocol independent of the data communication may be used in order to control operations such as enabling or terminating the data communication. For example, in the case of Internet telephony, a protocol known as SIP (Session Initiation Protocol) is widely used as the communication control protocol. (For detailed information regarding SIP, see IETF, RFC 3261, “SIP: Session Initiation Protocol”, http://www.ietf.org/rfc/rfc3261.txt. The above documentation will be hereinafter referred to as Document 1).
Hereinafter, a procedure for enabling data communication will be briefly described, wherein a first communications device establishes a communication session (hereinafter, referred to simply as a session) with a second communications device using a session management server that manages communication sessions established between communications devices.
In the present specification, a session refers to a series of data communication sequences carried out between communications devices. In SIP, for example, a session starts with the exchange of an INVITE message and corresponding 200 OK and ACK messages, and ends with the exchange of a BYE message and a corresponding 200 OK message.
First, prior to the processing to establish a communication session, the second communications device registers its own IP address in the session management server. More specifically, the communications device transmits, to the session management server, a registration request message (also called a REGISTER message) that includes both an identifier (also called a SIP-URI) for identifying the communications device or the user thereof in the session management server, as well as the IP address of the communications device. The session management server then records the identifier and the IP address specified in the registration request message as being associated with each other.
The association between the identifier and the IP address of a given communications device that is recorded in the session management server is deleted when a period of validity expires, the period of validity having been set when the association was recorded. Alternatively, the association may also be deleted as a result of the communications device transmitting a delete registration request message. (For example, the delete registration request message may be similar to the above REGISTER message, with instructions to set the period of validity for the association to 0.)
In addition, in the present specification, when a particular communications device (entity) is in a state such that the identifier and the IP address of the communications device are recorded as being associated with each other in the session management server, that communications device may be said to be logged in to the session management server. Similarly, for the state wherein such an association is not recorded, that communications device may be said to be logged out of the session management server. In other words, at this point in the present example, the second communications device is logged in to the session management server.
Similarly, prior to the processing to establish a session, the first communications device also logs in to the session management server.
Next, the first communications device conducts processing to establish a session with the second communications device.
More specifically, the first communications device transmits to the session management server a connection request message (hereinafter, also referred to as an INVITE message) that requests the establishment of a session with the second communications device. In the INVITE message, the identifier of the first communications device and the identifier of the second communications device are identified. Upon receiving the INVITE message, the session management server forwards the INVITE message to the second communications device. Upon receiving the INVITE message, if the second communications device accepts the connection request, then the second communications device transmits to the session management server a response message (also known as a 200 OK message) indicating acceptance of the connection request. The session management server then forwards the received 200 OK message to the first communications device. The first communications device then receives the response message, and thus a communication session with the second communications device is established.
The above thus describes the series of steps whereby a first communications device uses a session management server to establish a session with a second communications device according to SIP, thereby enabling data communication between the two communications devices.
Given its high expandability, SIP is used as a communication control protocol between users and content providers for various multimedia services, including not only Internet telephony, but also instant messaging services and content delivery services, for example. SIP is also used in IMS (IP Multimedia Subsystem) as the underlying network technology for NGN (Next Generation Network).
IMS is a communications architecture for realizing multimedia services, such as content delivery and Internet telephony, over an IP network. Among the elements constituting IMS, a SIP server called the CSCF (Call Session Control Function) serves a major role.
The CSCF facilitates SIP-based data communication between, for example, a user-side or service-side communications device coupled to the IMS, and an application server (hereinafter referred to as an AS) that provides various functions to nodes in the IMS. There are three types of CSCF: P-CSCF (Proxy-CSCF), which processes user access; I-CSCF (Interrogating-CSCF), which serves as a gateway to another network; and S-CSCF (Serving-CSCF), which conducts session control.
The I-CSCF and S-CSCF use the Diameter protocol to conduct data communication with a home subscriber server (hereinafter referred to as an HSS) that stores user information and filter criteria. Diameter is a protocol used for AAA (Authentication, Authorization, and Accounting). Filter criteria is data to be cross-checked with a message received by the S-CSCF, and describes parameters for determining whether or not it is necessary to use an AS to process the message. (For detailed information regarding IMS, see 3GPP, 3GPP TS 23.228: IP Multimedia Subsystem (IMS) Stage 2, http://www.3gpp.org/ftp/Specs/html-info/23228.htm. The above documentation will be hereinafter referred to as Document 2).
Depending on the types of services provided, content providers providing multimedia services are required to equip service-providing communications devices (i.e., service-side communications devices) with functions required when establishing sessions, such as a function for controlling access to services, or a function for generating a session key used for encrypted communication between a user and a service.
However, if the functions required when establishing sessions are loaded onto individual service-side communications devices, there is a problem in that high costs are required for software development, implementation, maintenance, and other operations to be performed on each service-side communications device. Moreover, each service-side communications device needs considerable computational resources in order to realize the functions required when establishing sessions, and the amount of data that must be managed is also increased.
In order to solve this problem, another method is being considered wherein, instead of distributing single or plural processes required when establishing sessions to each service-side communications device, such processes are executed in the session management server, or in a server cooperating with the session management server, in order to achieve unification of the functions.
In IMS, for example, it becomes possible to reduce the burden on the service-side communications devices by having the AS (i.e., the SIP server) conduct supplemental services such as QoS control and key generation.
In addition, JP-A-2005-284753 (hereinafter, Document 3) describes a session management server (being a SIP server) provided with a function for determining whether to permit or deny the provision of a service to a user, as well as a function for transmitting a configure session request packet to the service-side communications device when it is determined that provision of the service is permitted.
The sequence leading up to the establishment of a session by a user-side communications device with a service-side communications device via a SIP server in accordance with Document 3 will now be described. The SIP server first receives an INVITE message, from the user-side communications device, that is directed toward the service-side communications device. In the standard SIP procedure specified in Document 1, the SIP server immediately forwards the INVITE message to the service-side communications device. However, in the procedure described in Document 3, a procedure is added prior to forwarding the INVITE message, wherein the user-side communications device queries a subscriber management server to determine whether or not the user has rights to receive the service of the service-side communications device.
If the rights decision results in information being sent to the SIP server indicating that the user has the above rights, then the SIP server forwards the INVITE message to the service-side communications device. Subsequently, by following a procedure similar to that of Document 3, the communications device used by the user who has the rights to receive the service of the service-side communications device is able to establish a session with the service-side communications device.
As indicated above, Document 3 discloses a method wherein the function to determine whether to permit or deny the provision of a service is provided in a unified manner in the subscriber management server, without providing the function to individual service-side communications devices. In so doing, the costs of conducting subscriber management processing in the service-side communications devices are reduced.